cmake_minimum_required(VERSION 3.22 FATAL_ERROR)

project(pjt2 LANGUAGES C CXX)

# find_package使用方法参考，以及如何写一个.cmake
# https://brightxiaohan.github.io/CMakeTutorial/FindPackage/


# 工作原理： 此函数通过去指定文件查找对应.cmake文件内容来获取头文件和库文件路径以及其他一些自定义变量定义
# 查找方法：默认MODULE模式查找，找不到再去CONFIG模式查找。除非指定好哪种模式

# CMake搜索路径
    # 系统目录
    # /usr/include：用于系统标准头文件的路径。
    # /usr/local/include：用于本地安装的头文件的路径。
    # /usr/lib、/usr/lib64：用于系统标准库的路径。
    # /usr/local/lib、/usr/local/lib64：用于本地安装的库的路径。

    #cmake自带的路径下。我的3.28版本安装在/opt/cmake
    #/opt/cmake/share/cmake-3.28/Modules/

    # 环境变量来添加自定义的搜索路径：
    # export CMAKE_PREFIX_PATH=/path/to/custom/library

    # 参数指定搜索路径
    # find_package(ddd PATHS /path/to/custom/library)

    # CMake指定搜索路径
    # CMAKE_MODULE_PATH指定的路径


# MODULE模式：去指定目录查找Find<LibraryName>.cmake文件
# 1 /opt/cmake/share/cmake-3.28/Modules/
# 2 CMAKE_MODULE_PATH指定的路径

# CONFIG模式：去指定目录查找 <LibraryName>Config.cmake 或者 <lower-case-package-name>-config.cmake
# /usr/local/lib/cmake/<LibraryName>/

find_package(PythonInterp REQUIRED)

#配置时的自定义指令
execute_process(
  COMMAND
      ${PYTHON_EXECUTABLE} "-c" "print('Hello, world!')"
  RESULT_VARIABLE _status
  OUTPUT_VARIABLE _hello_world
  ERROR_QUIET
  OUTPUT_STRIP_TRAILING_WHITESPACE
)

message(STATUS "RESULT_VARIABLE is: ${_status}")
message(STATUS "OUTPUT_VARIABLE is: ${_hello_world}")

add_executable(pjt2 src/main.cpp)
